using System.ComponentModel.DataAnnotations;
using Silverlight.EntityFramework;

namespace Silverlight.HierarchicalModel.Model
{
    public class PropertyEntity : Entity<PropertyEntity>
    {
        private IEntity<string> _name;
        private IEntity<string> _description;
        private IEntity<string> _column1;
        private IEntity<string> _column2;
        private IEntity<string> _column3;
        private IEntity<string> _column4;
        private IEntity<string> _column5;
        private IEntity<string> _column6;
        private IEntity<string> _column7;
        private IEntity<string> _column8;
        private IEntity<string> _column9;
        private IEntity<string> _column10;

        public PropertyEntity()
        {
            _name = Entity<PropertyEntity, string>.Create("Name", this);
            _description = Entity<PropertyEntity, string>.Create("Description", this);
            _column1 = Entity<PropertyEntity, string>.Create("Column1", this);
            _column2 = Entity<PropertyEntity, string>.Create("Column2", this);
            _column3 = Entity<PropertyEntity, string>.Create("Column3", this);
            _column4 = Entity<PropertyEntity, string>.Create("Column4", this);
            _column5 = Entity<PropertyEntity, string>.Create("Column5", this);
            _column6 = Entity<PropertyEntity, string>.Create("Column6", this);
            _column7 = Entity<PropertyEntity, string>.Create("Column7", this);
            _column8 = Entity<PropertyEntity, string>.Create("Column8", this);
            _column9 = Entity<PropertyEntity, string>.Create("Column9", this);
            _column10 = Entity<PropertyEntity, string>.Create("Column10", this);
        }

        [Display(Name = "name")]
        public string Name { get { return _name.Object; } set { _name.Object = value; } }

        [Display(Name = "description")]
        public string Description { get { return _description.Object; } set { _description.Object = value; } }

        [Display(Name = "column1")]
        public string Column1 { get { return _column1.Object; } set { _column1.Object = value; } }

        [Display(Name = "column2")]
        public string Column2 { get { return _column2.Object; } set { _column2.Object = value; } }

        [Display(Name = "column3")]
        public string Column3 { get { return _column3.Object; } set { _column3.Object = value; } }

        [Display(Name = "column4")]
        public string Column4 { get { return _column4.Object; } set { _column4.Object = value; } }

        [Display(Name = "column5")]
        public string Column5 { get { return _column5.Object; } set { _column5.Object = value; } }

        [Display(Name = "column6")]
        public string Column6 { get { return _column6.Object; } set { _column6.Object = value; } }

        [Display(Name = "column7")]
        public string Column7 { get { return _column7.Object; } set { _column7.Object = value; } }

        [Display(Name = "column8")]
        public string Column8 { get { return _column8.Object; } set { _column8.Object = value; } }

        [Display(Name = "column9")]
        public string Column9 { get { return _column9.Object; } set { _column9.Object = value; } }

        [Display(Name = "column10")]
        public string Column10 { get { return _column10.Object; } set { _column10.Object = value; } }
    }
}